package com.zmn.oms.services.interfaces.report;

import com.zmn.oms.model.entity.report.ReportCoupAnalyse;
import com.zmn.oms.model.entity.report.ReportCoupAnalyseQuery;
import com.zmn.oms.model.vo.report.ReportCoupAnalyseVO;
import org.apache.poi.ss.usermodel.Workbook;

import java.util.List;

/**
 * 优惠卷分析报表
 * @author: HuangYongJie
 * @version: v1.0
 * @since: 2019/11/4 19:12
 **/
public interface ReportCoupAnalyseService {
    /**
     * 优惠卷报表分析，分页查询
     * @param query
     * @return
     */
    List<ReportCoupAnalyseVO> listPageReportCoupAnalyse(ReportCoupAnalyseQuery query);

    /**
     * 获取过期或关闭的数据
     * @return
     */
    List<ReportCoupAnalyse> listCloseAndExpirData();

    /**
     * 新增
     * @param reportCoupAnalyse
     */
    void addReportCoupAnalyse(ReportCoupAnalyse reportCoupAnalyse);

    /**
     * 清除未过期并且未关闭的数据
     * @return
     */
    int clearCloseAndExpirData();

    /**
     * 根据主键删除
     * @param batchId
     * @return
     */
    int deleteByKey(Integer batchId);

    int deleteBatchByKeyList(List<Integer> list);

    /**
     * 导出excel
     * @param query
     * @return
     */
    Workbook exportExcel(ReportCoupAnalyseQuery query);

}
